package com.jaryle.wenxin.util.message;

import com.jaryle.wenxin.bean.message.BaseMessage;
import com.jaryle.wenxin.bean.message.TextMessage;
import com.thoughtworks.xstream.XStream;

import java.util.Date;

/**
 * 描述:
 * 文本消息处理工具
 *
 * @author jaryle
 * @version V1.0
 * @create 2018-12-24
 */
public class TextMessageUtil implements BaseMessageUtil<TextMessage>{
    /**
     * 将文本消息对象转化成XML格式
     * @param message 文本消息对象
     * @return 返回转换后的XML格式
     */
    @Override
    public String messageToXml(TextMessage message){
        XStream xs = new XStream();
        //由于转换后xml根节点默认为class类，需转化为<xml>
        xs.alias("xml", message.getClass());
        return xs.toXML(message);
    }


    /**
     * 封装发送消息对象,封装时，需要将调换发送者和接收者的关系
     * @param FromUserName
     * @param ToUserName
     */
    @Override
    public  String initMessage(String FromUserName,String ToUserName,TextMessage textMessage) {
        TextMessage text = new TextMessage();
        text.setContent(textMessage.getContent());
        text.setToUserName(FromUserName);
        text.setFromUserName(ToUserName);
        text.setCreateTime(new Date());
        text.setMsgType("text");
        return messageToXml(text);
    }

}
